1. Field of the Invention
The present invention relates to a technique for controlling a window used for congestion control over a network to which TCP (Transmission Control Protocol) is applied.
2. Description of the Related Art
TCP is the most frequently protocol as the fourth layer protocol for data communication on the Internet. By using the TCP, highly reliable communication between communication devices, that is, communication ensuring that data loss hardly occurs during communication can be realized.
The TCP provides a congestion control function. Under the congestion control, a sender device adjusts a window of the device according to a congestion situation of a network. If no congestion occurs on the network, a transmission band is widened by setting the window large. If congestion occurs on the network, the transmission band is narrowed by setting the window small.
As a congestion window control method, an AIMD (Additive Increase Multiple Decrease) scheme based on packets is usually widely used. As the congestion control using this AIMD scheme, there is known “TCP-Reno” disclosed in W. Stevens, “TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms”, RFC2001, January 1997. According to the AIMD scheme, a window size is increased linearly while no packet discard occurs. The window size is reduced by multiplying a value of a congestion window by a predetermined value equal to or greater than 1 when packet discard occurs.
However, the AIMD scheme has a problem that it is difficult to simultaneously realize both high speed and fairness of communication. In these circumstances, there is proposed a method of controlling the congestion window by using round trip time (hereinafter, “RTT”) as an index of a detailed congestion degree of the network.
As the RTT-based congestion control method, there are known “TCP-Vegas” disclosed in L. Brakmo and L. Peterson, “TCP Vegas: End to End Congestion Avoidance on a Global Internet”, IEEE Journal on Selected Areas in Communication, Vol. 13, No. 8, October 1995, pages 1465-1480 and “FAST” disclosed in Cheng Jin, David X. Wei, Steven H. Low, G. Buhrmaster, J. Bunn, D. H. Choe, R. L. A. Cottrell, J. C. Doyle, W. Feng, O. Martin, H. Newman, F. Paganini, S. Ravot, S. Singh, “IEEE Network”, 19(1):4-11, January/February 2005. These methods are intended to estimate package amounts of a flow residing at nodes on the network and to control a congestion window size so as to keep the amounts of the residing packets constant.
There is also proposed “Compound-TCP” that is an enhanced type of the “TCP-Vegas” and “FAST” as disclosed in US Patent Application No. 2006/0227708. This method is intended to apply the sum of a congestion window size calculated based on RTT and a congestion window size calculated under AIMD control to a window size of a communication.
As methods of combination of the RTT and the AIMD control, there are proposed a method disclosed in Japanese Patent Application Laid-Open No. 2006-217234 and “TCP-Illinois” disclosed in S. Liu, T. Basar and R. Srikant, “TCP-Illinois: A Loss and Delay-Based Congestion Control Algorithm for High-Speed Networks”, Proc. First International Conference on Performance Evaluation Methodologies and Tools (VALUETOOLS), Pisa, Italy, Oct. 11-13, 2006. With these methods, a value of the RTT measured just before the packet discard is compared with a minimum value of the RTT out of values of the RTT measured up to this time, and an increase amount for the congestion window is set large if the measured value of the RTT is close to the minimum value. If the measured value is not close to the minimum value, the increase amount for the congestion window is set small or set to a negative value. By doing so, if it is determined that the RTT is short, that is, the network is not congested, the AIMD control to increase the congestion window at higher speed is applied. If it is determined that the RTT is long, that is, the network is congested, the AIMD control to increase the congestion window at lower speed similarly to the conventional AIMD control is applied. Therefore, these methods have high affinity to the conventional AIMD control method if coexisting with the conventional AIMD control method on the network.
However, the above-stated conventional congestion control methods have the following problems. If a line speed is very high while a buffer amount of data which a node is to transmit is small, it is difficult to detect an increase in the RTT. Specifically, if the buffer amount is 128 KB and the line speed is 10 Gbps, for example, the measured value of the RTT has an error in the order of several microseconds (msec) with respect to theoretical RTT that is about 0.1 msec. In the circumstances in which such an error occurs, the increase in the RTT is difficult to detect.
If accurate RTT is not obtained by the above-stated congestion control methods, it is possibly erroneously determined that no congestion occurs although congestion actually occurs on the network. In this case, the window is positively increased during the congestion, resulting in further deterioration in the congestion.